With the explosive growth in open networks (such as the Internet) over the past several years and the rapid increase in the number of consumers with access to the World Wide Web, there has been a great deal of interest in the development of electronic commerce on the Internet. Traditional financial transactions are being transformed.
A technique for performing financial transactions uses a smart card. A smart card is typically a credit card-sized plastic card that includes a semiconductor chip for holding the digital equivalent of cash directly, instead of pointing to an account or providing credits. One example of a smart card is illustrated in FIG. 1. Of course, a smart card may be implemented in many ways, and need not necessarily include a microprocessor or other features. The smart card may be programmed with various types of functionality, such as a stored-value application; credit/debit; loyalty programs, etc. For the purpose of this disclosure, card 5 is programmed at least with a stored-value application, and will be referred to as "stored-value" card 5.
Stored-value card 5 has an embedded microcontroller 10 that includes a microprocessor 12, random access memory (RAM) 14, read-only memory (ROM) 16, non-volatile memory 18, an encryption module 22, and a card reader interface 24. Other features of the microcontroller may be present but are not shown, such as a clock, a random number generator, interrupt control, control logic, a charge pump, power connections, and interface contacts that allow the card to communicate with the outside world.
Microprocessor 12 is any suitable central processing unit for executing commands and controlling the device. RAM 14 serves as storage for calculated results and as stack memory. ROM 16 stores the operating system, fixed data, standard routines, and look up tables. Non-volatile memory 18 (such as EPROM or EEPROM) serves to store information that must not be lost when the card is disconnected from a power source but that must also be alterable to accommodate data specific to individual cards or any changes possible over the card lifetime. This information might include a card identification number, a personal identification number, authorization levels, cash balances, credit limits, etc. Encryption module 22 is an optional hardware module used for performing a variety of encryption algorithms. Card reader interface 24 includes the software and hardware necessary for communication with the outside world. A wide variety of interfaces are possible. By way of example, interface 24 may provide a contact interface, a close-coupled interface, a remote-coupled interface, or a variety of other interfaces. With a contact interface, signals from the microcontroller are routed to a number of metal contacts on the outside of the card which come in physical contact with similar contacts of a card reader device.
One possible use of a stored-value card by a consumer is illustrated in FIG. 2. FIG. 2 illustrates a block diagram of a customer operated service payment terminal 50. A customer typically uses such a service payment terminal in a face-to-face environment in order to purchase goods in a store or directly from the terminal itself. Service payment terminal 50 can be an attended device or it can be integrated into a self-service device such as a vending machine or public telephone. For example, the service payment terminal may be incorporated into a soda machine in order to dispense sodas to a customer in which the customer pays by inserting the stored-value card. Or, the service payment terminal may be a point-of-sale terminal such as is found at a check-out counter where a customer inserts his stored-value card in order to purchase goods.
Service payment terminal 50 includes a router 51, a user interface 52, a card handler/reader 54, a security card handler 56, a security card 58, a terminal application 60, a data store 64 and a concentration point handler 66. Router 51 is hardware and software for routing information between functional blocks. User interface 52 controls the status of displays on the terminal and supplies instructions to the user. For example, the user interface provides instructions relating to insertion of stored-value card 5 or security card 58. Also, the user interface provides instructions and/or buttons for the customer to interact with terminal application 60 in order to purchase goods and/or services. Card handler 54 provides a physical card reader and associated software for accepting and communicating with stored-value card 5. Similarly, security card handler 56 provides a card reader and associated software for communicating with security card 58. In conjunction with security card handler 56, security card 58 controls the command sequence of the terminal and provides transaction and a batch security.
Terminal application 60 receives commands and information about the transaction and initiates the actual purchase. In addition, terminal application 60 is responsible for all application specific functionality such as guiding the customer through the use of the terminal via a display, and for providing all hardware and software needed to provide the user with a good and/or service once it has been informed by the security card that an appropriate value has been deducted from the stored-value card.
Data store 64 controls the storage of purchase transactions and totals. Concentration point handler 66 controls the sending and receiving of information to and from a concentration point. Concentration point 68 is a staging computer that communicates with any number of service payment terminals to collect batches of transactions. The concentration point then sends these transaction batches to a clearing and administration system for processing (such as in FIG. 3). Once processed, batch acknowledgments, along with other system updates are sent to the terminals via the concentration point. The concentration point ensures a successful transfer of data between service payment terminals and the clearing and administration system, and prevents overloading of the clearing and administration system. The service provider contracts with a concentration point for collection of the service payments. The concentration point may also be an existing central facility such as a telephone company that collects its own payments from card telephones.
Such a service payment terminal 50 allows a customer to use a stored-value card for the payment of goods and/or services, generates a payment result from a transaction, and bundles individual payment results into a collection for transfer to a clearing and administration system, which then transfers funds that had been debited from a customer's stored-value card to the merchant whose goods and/or services had been purchased from the terminal.
FIG. 3 illustrates an environment 100 useful for issuing stored-value cards and reconciling transactions performed with such a card. A terminal supplier 102 builds the equipment used by a service provider 104 to provide goods and/or services to customers having a stored-value card at a service payment terminal 50. Card Supplier 106 contracts with an integrated circuit manufacturer and a card manufacturer for integrated circuits and plastic card bodies, then embeds the integrated circuits into the cards and initializes them with a serial number. It then delivers the cards to card issuer 108. In conjunction with clearing and administration system 110 (such as a system provided by Visa International of Foster City, Calif.), card issuer 108 personalizes new cards and then transfers these cards to individuals (cardholders 112). The cardholder may then charge the card with value prior to use. Alternatively, the card may come with value already loaded. The cardholder 112 may then use the card at a service payment terminal 50 to purchase goods and/or services from service provider 104. Terminal 50 then debits the value from the card, thus creating a service payment.
Periodically, all transactions are sent in a data file from terminal 50 via concentration point 68 and an acquirer 114 to clearing and batch administration system 110 along with accumulated service payment batches from other terminals. Based upon this collection data, clearing and administration system 110 then receives money from card issuer 108 which had originally come from cardholder 112. Clearing and administration system 110 then transfers a lump sum to acquirer 114 using a suitable settlement service (such as one provided by Visa International) to pay the various service providers having a relationship with acquirer 114. Based upon the previous collection data, acquirer 114 then transfers an appropriate amount of money to each service provider 104 reflecting the value of the goods and/or services that that service provider had provided that day to cardholders based upon deductions from their stored-value cards.
Thus as described above, a variety of goods or services may be purchased using a stored-value card from a merchant having a terminal 50, or over the Internet using a technique such as described in U.S. patent application No. 08/951,614 referenced above.
However, in order to purchase, the card must be loaded with value first. Value can be loaded onto a stored-value card in a variety of ways. Currently, it is inconvenient for a user to load value onto his or her stored-value card. A user must physically travel to a bank or other institution that has an automated teller machine (ATM) or other similar device in order to load value on to his or her stored-value card. The user can insert money into the machine and have a corresponding value put onto the stored-value card, the user can use a debit card to deduct value from the user's account at the bank for transfer to the card, or a credit card can be used as the source of funds to be transferred to the stored-value card. In either case, the user must travel to the bank to load value. Further creating difficulty is that not all banks or other financial institutions have such a machine for loading value onto a user's stored-value card.
Accordingly, it would be desirable to have a technique to allow a user to conveniently and easily load value onto a stored-value card.